package com.iplant.aps.service.po.aps;

import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.aps.service.po.bpm.BPMTaskBase;

/**
 * 台车BOM审批流
 *
 * @author YouWang·Peng
 *         2021-11-12 10:14:51
 */
public class APSBomBPM extends BPMTaskBase {
    /**
     * 序列号
     */
    private static final long serialVersionUID = 1L;
    /**
     * 操作类型 1新增 2修改 3删除
     */
    public int Type = 0;
    /**
     * 订单ID
     */
    public int OrderID = 0;
    /**
     * 修程ID
     */
    public int LineID = 0;
    /**
     * 车型ID
     */
    public int ProductID = 0;
    /**
     * 局段ID
     */
    public int CustomerID = 0;
    /**
     * 车号
     */
    public String PartNo = "";

    // 辅助属性
    /**
     * 修程名称
     */
    public String LineName = "";
    /**
     * 车型名称
     */
    public String ProductNo = "";
    /**
     * 局段名称
     */
    public String CustomerName = "";
    public String CustomerCode = "";
    public String WBSNo = "";

    /**
     * 子项列表
     */
    public List<APSBomBPMItem> APSBomBPMItemList = new ArrayList<APSBomBPMItem>();

    /**
     * 描述信息
     */
    public String DescribInfo = "";

    /**
     * SAP推送状态 0未推送 1成功 2失败
     */
    public int SAPStatus = 0;
    /**
     * SAP推送失败文本内容
     */
    public String SAPStatusText = "";

    /**
     * 发起类型（1单台 2批量）
     */
    public int SendType = 0;
    /**
     * 发起类型文本
     */
    public String SendTypeText = "";

    public APSBomBPM() {
    }

    public APSBomBPM(int type, int orderID, int lineID, int productID, int customerID, String partNo, String lineName,
            String productNo, String customerName) {
        super();
        Type = type;
        OrderID = orderID;
        LineID = lineID;
        ProductID = productID;
        CustomerID = customerID;
        PartNo = partNo;
        LineName = lineName;
        ProductNo = productNo;
        CustomerName = customerName;
    }

    @JsonProperty("Type")
    public int getType() {
        return Type;
    }

    public void setType(int type) {
        Type = type;
    }

    @JsonProperty("OrderID")
    public int getOrderID() {
        return OrderID;
    }

    public void setOrderID(int orderID) {
        OrderID = orderID;
    }

    @JsonProperty("LineID")
    public int getLineID() {
        return LineID;
    }

    public void setLineID(int lineID) {
        LineID = lineID;
    }

    @JsonProperty("ProductID")
    public int getProductID() {
        return ProductID;
    }

    public void setProductID(int productID) {
        ProductID = productID;
    }

    @JsonProperty("CustomerID")
    public int getCustomerID() {
        return CustomerID;
    }

    public void setCustomerID(int customerID) {
        CustomerID = customerID;
    }

    @JsonProperty("PartNo")
    public String getPartNo() {
        return PartNo;
    }

    public void setPartNo(String partNo) {
        PartNo = partNo;
    }

    @JsonProperty("LineName")
    public String getLineName() {
        return LineName;
    }

    public void setLineName(String lineName) {
        LineName = lineName;
    }

    @JsonProperty("ProductNo")
    public String getProductNo() {
        return ProductNo;
    }

    public void setProductNo(String productNo) {
        ProductNo = productNo;
    }

    @JsonProperty("CustomerName")
    public String getCustomerName() {
        return CustomerName;
    }

    public void setCustomerName(String customerName) {
        CustomerName = customerName;
    }

    @JsonProperty("APSBomBPMItemList")
    public List<APSBomBPMItem> getAPSBomBPMItemList() {
        return APSBomBPMItemList;
    }

    public void setAPSBomBPMItemList(List<APSBomBPMItem> aPSBomBPMItemList) {
        APSBomBPMItemList = aPSBomBPMItemList;
    }

    @JsonProperty("CustomerCode")
    public String getCustomerCode() {
        return CustomerCode;
    }

    public void setCustomerCode(String customerCode) {
        CustomerCode = customerCode;
    }

    @JsonProperty("WBSNo")
    public String getWBSNo() {
        return WBSNo;
    }

    public void setWBSNo(String wBSNo) {
        WBSNo = wBSNo;
    }

    @JsonProperty("DescribInfo")
    public String getDescribInfo() {
        return DescribInfo;
    }

    public void setDescribInfo(String describInfo) {
        DescribInfo = describInfo;
    }

    @JsonProperty("SAPStatus")
    public int getSAPStatus() {
        return SAPStatus;
    }

    public void setSAPStatus(int SAPStatus) {
        this.SAPStatus = SAPStatus;
    }

    @JsonProperty("SAPStatusText")
    public String getSAPStatusText() {
        return SAPStatusText;
    }

    public void setSAPStatusText(String SAPStatusText) {
        this.SAPStatusText = SAPStatusText;
    }

    @JsonProperty("SendType")
    public int getSendType() {
        return SendType;
    }

    public void setSendType(int sendType) {
        SendType = sendType;
    }

    @JsonProperty("SendTypeText")
    public String getSendTypeText() {
        if (SendType == 1) {
            SendTypeText = "是";
        } else if (SendType == 2) {
            SendTypeText = "否";
        }
        return SendTypeText;
    }

    public void setSendTypeText(String sendTypeText) {
        SendTypeText = sendTypeText;
    }
}